package fulbiNet.negocio;

import java.util.Collection;

import fulbiNet.dao.DistritoDAO;
import fulbiNet.dao.LocalDAO;
import fulbiNet.execpcion.DAOExcepcion;
import fulbiNet.modelo.Distrito;
import fulbiNet.modelo.Local;

public class AdministrarLocalNegocio {


		public void insertarLocal(Local vo) throws DAOExcepcion {

			LocalDAO dao = new LocalDAO();
			Collection<Local> lLocal;
			
			try
			{
				if(vo.getNombre()==null || vo.getNombre().equals("")){
					throw new DAOExcepcion("Error no ingreso campo nombre");
				}
				if(vo.getTelefono()==null || vo.getTelefono().equals("")){
					throw new DAOExcepcion("Error no ingreso telefono");
				}
				if(vo.getDireccion()==null || vo.getDireccion().equals("")){
					throw new DAOExcepcion("Error no ingreso direccion");
				}

				if(vo.getoDistrito()==null || vo.getoDistrito().getCodigo() <= 0){
					throw new DAOExcepcion("Error no ingreso distrito");
				}
			
				lLocal = dao.listarPorNombre(vo.getNombre());
				if (lLocal.size() > 0){
					throw new DAOExcepcion("El nombre de local ya se encuentra registrado.");
				}
				
				dao.insertar(vo);
			}
			catch(DAOExcepcion e)
			{
				throw e; 
			}
			
		}

		public int obteneridLocal() throws DAOExcepcion {
				LocalDAO dao = new LocalDAO();
				try {
					return dao.obtenerIdLocal();
								
					
																							
				} catch (DAOExcepcion e) {
		
					throw e;
				}
			}
		
					
		public Collection<Distrito> listarDistrito()  throws DAOExcepcion 
		{
			DistritoDAO dao = new DistritoDAO();
			Collection<Distrito> lDistrito = null;
			
			try {
				lDistrito = dao.listar();
																			
			} catch (DAOExcepcion e) {
	
				throw e;
			}			
			
			return lDistrito;
		}
}
